e2e: add private registry pull/push regression test#7007
Conversation
|
Reopened and pushed a fix for the e2e failures in #6940. Root cause: Fix: use Happy to fold this into #6940 instead if maintainers prefer a single PR. |
aa3a10d to
b2e3d39
Compare
|
@vvoland @thaJeztah — when you have a moment, could you please approve the workflow runs for this PR? Any review feedback is very welcome. Thank you. |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
ec2b6e3 to
80f993f
Compare
|
Hi @vvoland @thaJeztah gentle follow-up when you have a moment. I’ve pushed a new commit that addresses the CI failures reported on this PR, including the private registry setup, registry authentication configuration, and the authenticated push assertion failure. The workflow should now be in a good state. Could you please:
Happy to make any further changes if needed. Thanks again for your time and review! |
434f1aa to
febb222
Compare
Add a privateregistry service (htpasswd auth, port 5001) to the e2e compose stack and a TestPullPushPrivateRepository test that verifies: - unauthenticated push/pull is rejected with an auth error - authenticated push/pull succeeds Fix private-registry flakiness by moving the registry debug listener off port 5001 (to avoid conflicting listeners) and fail fast during e2e setup if supporting services are not running. The volume path in compose-env.yaml is resolved relative to the compose file directory (e2e/), so use ./testdata/registry/auth, not ./e2e/testdata/registry/auth. Regression test for docker#5963. Closes docker#5965. Signed-off-by: aryansharma9917 <sharmaaryan9837@gmail.com> Signed-off-by: Lohit Kolluri <lohitkolluri@gmail.com>
febb222 to
236b3d4
Compare
|
The CI failures were caused by the new private registry service not starting correctly, so the tests spent their whole time waiting for it and eventually timed out with DNS/connection errors. I fixed it by adjusting the registry config so it can start reliably, and by adding an early “sanity check” in the e2e setup that fails fast and prints the service logs if the registry (or other required services) isn’t actually running. After this change, the private-registry e2e tests should run normally instead of timing out. |
|
Hi @vvoland @thaJeztah all checks are green on this PR now. Thank you for the earlier workflow approvals. When you have a moment, could you also approve the workflow runs on my other PR? It’s the same fork-approval situation: (container: add --health-cmd-mode for CMD healthcheck form) Happy to address any feedback on either PR. Thanks again! |
|
Codecov patch coverage is 0% on e2e/internal/fixtures because unit tests exclude the e2e/ tree; the new lines are covered by TestPullPushPrivateRepository in the e2e suite.
|
Add a
privateregistryservice (htpasswd auth, port 5001) to the e2ecompose stack and a
TestPullPushPrivateRepositorytest that verifies:docker push/docker pullis rejected with an auth errordocker push/docker pullsucceedsThe volume path in
compose-env.yamlis resolved relative to the composefile directory (
e2e/), so./testdata/registry/authis used instead of./e2e/testdata/registry/auth. This was the root cause of CI failures inthe earlier attempt (#6940):
the htpasswd file never mounted, the registry never started, and every
operation timed out with a DNS error.
Regression test for #5963.
Carries forward #6940 (original author: @AryanSharma9917).
Closes #5965.